/**
 * 事件总线
 * 为何要有这个玩意?
 * 答:发生了某个事件后的处理,spring的event,kafka,rocketmq,等有多重方式能够处理
 * 适配一种方式大都会设计相应的业务组件,这些组件都大差不差,并且都有含有对应方式的影子,如rocketmq订阅就会是topic,返回值是ConsumeConcurrentlyStatus
 * 多种方式使得工程底层对各种中间件有着直接依赖
 * 事件总线设计就是统一封装工程内这类事件的触发,提供同步/异步api
 * <p>
 * <p>
 * 直接使用
 * 1.注册监听EventBus#register
 * 2.触发监听EventBus#fire
 * 3.处理结果
 * <p>
 * 对接消息中间件
 * 1.在中间件入口统一消息解析成event
 * 2.EventBus#fire
 * 3.根据返回值及中间件规范响应结果
 */
package com.wang.tool.event;